Modern high speed electronic "plateless" printing engines have capabilities not even dreamed of only a few years ago. For example, the current line of MIDAX.RTM. printing engines available from Moore Business Forms, Inc. of Lake Forest, Ill. can print high resolution images on a continuous "web" of paper moving at a speed on the order of 500 feet per minute. High speed, high resolution color printing engines are also now available that can print very high resolution (e.g., 600 dpi) color images on continuous or sheet-fed paper moving at speeds of on the order of 300 feet per minute or more.
To provide maximum image flexibility, high performance "intelligent" electronic printing engines generally take as an input, data defining a digital value for each printable location on the printed page. Such locations are commonly referred to as "pixels" (short for "picture elements"). Although pixel-based intelligent electronic printing engines can print virtually any arbitrary image (within the resolution, color and other limitations of the print engine), they require a massive amount of input data for high resolution printing. For example, to print an 8 1/2 inch by 11-inch page at a 600 dots-per-inch resolution requires 5100.times.6600=33.66 million individual pixel values. High speed printers can print on the order of 300 to 500 pages per minute (i.e., on the order of 8 pages or more per second)--and therefore require in the excess of 300 million pixels (120,000 characters) per second. The digital value associated with each pixel may nominally be only one digital "bit" (if the "bit" is "on" the printer should place ink at the corresponding location; if the "bit" is "off" the printer should not place ink at that location). However, modern electronic printing engines provide multiple (e.g., 4) bits for each pixel to encode gray scale level or one of several different colors. This requires a data delivery system that can provide on the order of 1.2 billion digital bits per second.
General purpose digital computers of reasonable cost and complexity are not capable of supplying print stream data at these incredible rates. The alternative to real time processing--generating print images "off line" and storing them for later retrieval by the printer--is not feasible at least because the amount of data involved in an average print run is too massive to be economically stored and rapidly accessed using conventional mass storage techniques.
To meet the data rate demands of prior generations of intelligent electronic printing engines, dedicated systems commonly known as Raster Image Processors ("RIPs") were developed to generate image data based on a compact input representation such as a PostScript file or other variable data stream. Some such prior RIP designs could not generate image data in real time. Thus, these prior RIPs suffered from the drawback that the data coming in from the input device had to be completely converted before any output data could be supplied to the output printing device and the print job could begin to run. This inability to rasterize in real time required each print job to be handled in two phases: an off-line conversion process, and a later on-line printing process. This caused delays, and was a severe problem with "just in time" requirements for delivery of completed print jobs to customers.
Some prior art RIP systems were, however, capable of generating image data "on the fly" while the print job was running. One example of a prior art raster image processor capable of generating image data in real time synchronism with printing operations is the "Hybrid RIP" ("H-RIP") manufactured by Moore Business Forms, Inc. and described in Technical Reference Manual entitled "H-RIP Technical Manual " (Moore Business Forms, Inc. 1994). The H-RIP system used dedicated hardware circuitry controlled by a microprocessor-based master controller to generate rasterized print image data in real time. Briefly, the prior art H-RIP system accepted, as an input, a standardized file format stored on a mass storage device such as magnetic tape. In this prior design, an intermediate "XL Data System" read the input file from the tape and supplied it to the H-RIP for processing. The H-RIP included an XL Interface that received and buffered the data from the XL data system and supplied the data to a microprocessor-based master controller. The master controller interpreted the input data and created a display list specifying the objects to be rendered on the next printed page. The master controller wrote bit map images of the fonts required to image the display list representation into a Font Image Memory ("FIM") to make these objects available for rendering. The master controller then controlled the FIM to write the bit map images into a Binary Image Generator ("BIG") including a pair of full-page bit map memories--thereby "rendering" a memory image of the entire page to be printed. While one page of image was being created in one of the full-page bit map memories, dedicated print engine control and interface circuitry could access an already complete memory image in the other memory and provide its pixel values to the printing engine in real time synchronism with paper "web" movement. Typically, the printer engine could not accept a fill page at a time, but rather required the data to be presented to it in smaller "chunks" (e.g., in blocks comprising one or several lines of the image). The H-RIP supplied these "chunks" to the printer engine in synchronism with the engine's need for the data.
Moore's prior art H-RIP system was successful in its own right. However, further improvements are possible. For example, this prior art H-RIP system does not have sufficient speed and bandwidth to keep up with advanced high-speed high-resolution print engines now available. Additionally, the prior art H-RIP was limited to monochrome printing and had no color capabilities. Furthermore, this prior art H-RIP was limited to only a single input format, and could not handle graphical images efficiently. In addition, the prior art H-RIP could work with only a single type of print engine (a Moore Business Forms MIDAX.RTM. intelligent printer) and was incompatible with other print engine types. As discussed below, these shortcomings present severe disadvantages in some applications.
One disadvantage of the prior H-RIP design relates to its ability to work with only a single type of printer. The H-RIP was custom-designed to supply data to a Moore MIDAX.RTM. 300 intelligent printer, and was incapable of working with any other (non-compatible) printer. However, purchasers typically have a choice of several different models of intelligent printing engines, and larger printing facilities may have several different types of printers for use with different types of print runs. For example, one printer may be used for production of long print runs, another printer may be used for production of short runs which require high quality graphics and color, and a still further printer might be optimal for printing text with simplified graphics such as lines, boxes and angles. In the past, the print shop had to purchase a different RIP system for each different printer device since each RIP was specifically customized for a corresponding particular printer.
The requirement for several different types of RIPs (each of which may cost several tens of thousands of dollars, assuming they are even commercially available) led to great expense and confusion. For example, different RIP systems typically would have completely different cabling, installation, maintenance and other requirements. Technicians and operators had to be trained to service each of several dissimilar RIP systems. Spare parts for many different RIP systems had to be stocked. Software and input data incompatibilities between the different RIP systems required extensive logistical coordination to ensure that print jobs were prepared for the right combination of RIP and uniquely-associated print engine. These problems may have effectively limited the number of different types of printing devices a given printing facility could afford to have--thus decreasing the types of printing services that could be offered to customers.
Prior art RIPs such as the H-RIP also suffered from the disadvantage that it could only accept input data in a single standardized format. To use input data in a different format, a print operator would have to convert the data to the standard format (or use a different RIP designed to accept that different input format). Each time the printer operator wanted to use a different input format, he or she would have to convert the data to a format usable by the RIP associated with the printing device scheduled to print the job. The printer operator might have to custom tailor or purchase a RIP or other appropriate conversion system if no existing system would handle the new, non-standard format. Conversions off line were tedious, sometimes unreliable, and added substantially to the overall processing time and man hours required to complete a particular print job. For example, to process a single print order comprising multiple parts representing different input formats, the print operator might have to run the first part of the job, and then reset the system with a different RIP (which must be done off line) to interpret a different input format. He or she would then run the next part of the print set, and possibly thereafter reset and reconfigure the system again to run a further part of the job using a still different input format. The operator would have to continue in this fashion until the entire multi-part print job was completed--a rather lengthy, cumbersome and inefficient process which was quite time consuming.
Moreover, prior RIP designs such as the H-RIP were not capable of providing in excess of 300-million pixels per second required to drive high speed, high resolution monochrome and color electronic print engines. Prior RIP systems capable of generating color graphic images were limited By to conversion speeds of about 100 million pixels per second--whereas the most current high resolution color printing engines can require data at rates in excess of three times that. Throughput and bandwidth problems are exacerbated by the ever increasing use of complex graphics in the intelligent imaging process. Processing operations related to graphics and adjusting portions of the page to accommodate the graphics can be very time-consuming operations, and full-color high resolution graphics take up a great deal of storage space. The manipulation of graphic images may also require the input data to be "screened" to provide appropriate color grades--adding even more processing time.
There is thus a long felt need for a raster image processor that can receive inputs in various different formats (e.g., fonts, full color graphics, line art, patterns, etc.) from a variety of different input devices and is capable of generating outputs in different formats usable by different types of printing (or other) output devices. In addition, there is a need to provide a raster image processor having very high throughput that is also capable of screening and processing color data. There is also a need to provide a raster image processor that is modular and expandable to meet varying needs and requirements. Furthermore, it would be desirable to provide a raster image processor that can generate high resolution graphics data "on the fly" to supply in real time to a high speed print engine.
The present invention provides a raster image processor that can meet these objectives. It provides a raster image processing system and method that can keep up with the fastest high resolution printers now available. It can process images "on the fly"--that is, generate images from compact input representations so rapidly that printing can occur substantially in the same real time as the RIP processor processes the input data. This has substantial benefit to customers because it allows print orders to be turned around very rapidly, thereby satisfying the requirements of "just in time" delivery--which was not possible using some prior RIP based systems.
The ability to form print images in real time is further enhanced by the use of a high speed data cache and associated array disk drive to provide high speed throughput of data into the system. The disk array may, for example, store a library of high resolution graphics that can be accessed "on the fly" as needed in response to the input data stream. In the preferred embodiment, the disk array provides very high storage capability and throughput (e.g., total storage of 32 gb of information that can be accessed at a rate of over 50 mb per second). This allows the system to access graphical images while the particular print job is underway--enabling nearly simultaneous conversion, retrieval and printing of graphics and images. A data caching arrangement coupled to the disk array provides a FIFO (first-in-first-out) caching/buffering arrangement to maximize throughput and reduce access time.
To further enhance graphics capabilities, the system may also provide a custom graphics accelerator that can generate, on the fly, many "primitive" or simple graphics (e.g, angles, lines, boxes, etc.) at the same time that the remainder of the print image is being generated.
The present invention in a preferred embodiment may, for example, provide a completely modular architecture including an XL interface module for input data synchronization and interfacing, a master controller module for overall control and coordination, a RISC high speed processor module for data conversion and manipulation, a Font Image Memory ("FIM") module for storing bit images of fonts, a Binary Image Generator ("BIG") module for double-buffered storage of full-page images, and an Engine Control Module ("ECM") controlling and interfacing with particular printer or other output devices.
In the processing and printing of documents, a job block or file is provided which contains a description of the entire job to be run including a page by page layout of the job. Once input is received, the RIP collects and assembles the characters and other image "objects" in a full page bitmap memory. The information provided with the job determines the size and positioning of text and graphics. The system automatically "remembers" where certain characters are positioned so as not to duplicate or overlay new characters.
The present invention has been able to achieve vastly superior speeds to that of prior RIP based systems, and can operate at speeds upwards of 300 mega pixels per second. Part of the success of the system and its ability to operate at such high speeds, is that the preferred embodiment of the instant invention is also capable of "screening on the fly." That is, it can automatically screen data relating to the images so that the various gray scales or color levels are correct for a contone printing process.
Other advantageous features provided in accordance with this invention include:
A high performance "generic" RIP for a multiplicity of printing or other output devices. PA1 Capabilities and speeds not attainable using prior RIP designs. PA1 Expandable to maintain low cost for lower level applications while still providing the capabilities required by high performance color printing devices. PA1 Maintains compatibility with prior RIP designs--can run the same RIP code used to run prior Moore Hybrid RIP and PC configuration systems. PA1 Up to 20,000 Job Input Block ("JIB") entries per page. PA1 Up to 32,000 standard characters or 16,000 kanji type--mono characters per page; 15,000 colored screened text PA1 Up to 254 fonts per job each containing up to 65,535 characters. PA1 Up to eight patterns per job using optional screening hardware. PA1 Up to 3,000 logos per job. PA1 Ability to generate rules, rectangles and sides of boxes without additional storage overhead. PA1 Supports the Moore Command Code Stream (MCCS) (a standard output of the data system for MIDS applications) and is also compatible with the Moore MIDAX.RTM. format. PA1 Half-tone screening module converts continuous tone images to half-tone screen images "on the fly" during production for high resolution output engines. PA1 Graphics module is capable of generating bar charts, pie charts, diagonal and curved lines "on the fly" during production. PA1 Feedback for quality metrics and system productivity. PA1 Accepts a variety of input formats including: PA1 Input may be received from several standard inputs such as, for example, AFP or Advance Functional Printing, which is the standard input from International Business Machines of Armonk, N.Y., or the standard input from Xerox DJDE Records of Rochester, N.Y. PA1 The printer operator can develop his or her own particular input or font types for use in the production of orders (one such example would be Moore Business Forms, Inc. of Lake Forest, Ill.). PA1 Provides a number of different outputs, including raster data to suitable printing engine, printing engine synchronization and control, data system feedback for engine status, job analysis, error reports and audit trail information. PA1 Examples of output devices include Midax.RTM. printer available from Moore Business Forms, Inc. of Lake Forest, Ill., a Scitex Print Station, available from Scitex Digital Printing, Inc. of Dayton, Ohio, or MICA available from Moore Business Forms, Inc. of Lake Forest Ill. For color printing, example output devices include Indigo (available from Indigo America, Inc. of Amherst, N.H.) and Xeikon (available from Xeikon N.V. of Mortsel, Belgium). PA1 Very high data rates: PA1 Additional graphics capabilities boost graphics oriented speeds to the 320 million pixels per second rate. PA1 Imaging of variable full process color images and colored text in addition to existing XL/Hybrid capabilities. PA1 Upwardly compatible with XL Data System, print devices, job and fonts so that existing jobs written for prior RIP designs will run. PA1 More than 1000 81/2.times.11" full color, full process color images variably from form to form or equivalent coverage using smaller images. PA1 Full color images and colored text and line art can be printed using half-tone screening technology. Full color images can be half-tone screened "on the fly" as they are printed. The system can screen a document at various line frequencies (e.g., 50 lpi to 150 lpi in increments of roughly 5 lpi) and dot shapes (e.g., round, square, elliptical and line). Super cell technology provides very accurate angles for process color screening. PA1 Any object which overlaps another object of a different color will utilize trapping to avoid undesired contamination by the underlying image. PA1 Imaging of text and line art in a number of modes describing the way in which the image is formed and the manner in which it is merged into the page. The following modes of text and line art formation are supported: Normal (solid/colored text); Pattern (geometric filled text); Picture (image-filled text). The system supports several merge types including Transparent (background remains), Overprint (background replaced), Knockout (background under character glyph is removed). PA1 Elements--the smallest entity within an object--are selectable based on the results of a particular selection criterion and test, providing a higher level of selectability allowing only portions of objects to be printed if desired. PA1 Color of an element can be changed via select criteria. PA1 With the optional hardware accelerator we are able to interpret graphic data structures including pie charts, bar charts, form overlays and art at high speeds. PA1 Each job can have up to 64 homogeneous colors defined for use in coloring text and line art. They can be solid ink colors, or colors created by screening various levels of the four process colors. Screened full color continuous tone images are not restricted to these 64 colors. PA1 Color support for four process color inks (e.g., cyan, magenta, yellow and black). PA1 Images can be input via a "front end" system and then networked to a high speed disk array system in the proper format. PA1 Post Script files can be initially converted to bit images by a Post Script interpreter residing on the "front end," or may be interpreted at high speed on download and imaged "on the fly." PA1 Integrated system built out of modular subsystems. PA1 The system ensures data integrity from the live data input media through to the printed page. PA1 Audit trail of job status. PA1 Automatic monitoring and recording of system performance. PA1 All system feedback is easily interpreted by the operator, including error/warning messages and system performance metrics.
images in the form of fonts (e.g., outline format, Adobe type 1 or Moore XLF format), line art (compressed or uncompressed), and ConTone images; PA2 objects represented in dynamic MCCS (Moore Command Code Stream) formatted data stream and standard JIB, oriented objects; PA2 full color graphics; PA2 screening tables; and PA2 color lookup tables for color applications. PA2 120,000 characters per second (220% faster than prior Hybrid RIP design); PA2 320 million pixels per second (assuming pixels are moved in 64 pixel blocks).